home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
impRGBtoW.z
/
impRGBtoW
Wrap
Text File
|
1998-10-30
|
22KB
|
460 lines
iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333))))
NNNNAAAAMMMMEEEE
impRGBtoW, impWtoRGB, impRGBtoK, impKtoRGB, impRGBtoCMY, impCMYtoRGB,
impRGBtoYIQ, impYIQtoRGB, impRGBtoYUV, impYUVtoRGB, impRGBtoYCbCr,
impYCbCrtoRGB, impRGBtoCMYK, impRGBtoDevCMYK, impCMYKtoRGB, impRGBtoHSV,
impHSVtoRGB, impRGBtoHLS, impHLStoRGB - color space conversion
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
####iiiinnnncccclllluuuuddddeeee <<<<iiiimmmmpppp....hhhh>>>>
W Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****wwwwbbbbuuuuffff,,,, iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppWWWWttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****wwwwbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,, iiiinnnntttt nnnn))));;;;
K Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooKKKK((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****kkkkbbbbuuuuffff,,,, sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppKKKKttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****kkkkbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,, sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
CMY Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooCCCCMMMMYYYY((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****ccccbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****mmmmbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,,
sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppCCCCMMMMYYYYttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****ccccbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****mmmmbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
YIQ Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooYYYYIIIIQQQQ((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****iiiibbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****qqqqbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppYYYYIIIIQQQQttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****iiiibbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****qqqqbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
YUV Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooYYYYUUUUVVVV((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****uuuubbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****vvvvbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppYYYYUUUUVVVVttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****uuuubbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****vvvvbbbbuuuuffff,,,,
PPPPaaaaggggeeee 1111
iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333))))
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
YCbCr Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooYYYYCCCCbbbbCCCCrrrr((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ccccbbbbbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ccccrrrrbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppYYYYCCCCbbbbCCCCrrrrttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ccccbbbbbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ccccrrrrbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
CMYK Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooCCCCMMMMYYYYKKKK((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****ccccbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****mmmmbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****yyyybbbbuuuugggg,,,,
sssshhhhoooorrrrtttt ****kkkkbbbbuuuuffff,,,, sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooDDDDeeeevvvvCCCCMMMMYYYYKKKK((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****ccccbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****mmmmbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****yyyybbbbuuuugggg,,,,
sssshhhhoooorrrrtttt ****kkkkbbbbuuuuffff,,,, IIIIMMMMPPPPUUUUCCCCRRRRFFFFuuuunnnncccc uuuuccccrrrr,,,, IIIIMMMMPPPPBBBBGGGGFFFFuuuunnnncccc bbbbgggg,,,,
sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
sssshhhhoooorrrrtttt ((((****IIIIMMMMPPPPBBBBGGGGFFFFuuuunnnncccc))))((((sssshhhhoooorrrrtttt kkkk))));;;;
sssshhhhoooorrrrtttt ((((****IIIIMMMMPPPPUUUUCCCCRRRRFFFFuuuunnnncccc))))((((sssshhhhoooorrrrtttt kkkk))));;;;
vvvvooooiiiidddd iiiimmmmppppCCCCMMMMYYYYKKKKttttooooRRRRGGGGBBBB((((sssshhhhoooorrrrtttt ****ccccbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****mmmmbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****yyyybbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****kkkkbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuugggg,,,,
sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,, sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
HSV Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooHHHHSSSSVVVV((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
ffffllllooooaaaatttt ****hhhhbbbbuuuuffff,,,, ffffllllooooaaaatttt ****ssssbbbbuuuuffff,,,, ffffllllooooaaaatttt ****vvvvbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppHHHHSSSSVVVVttttooooRRRRGGGGBBBB((((ffffllllooooaaaatttt ****hhhhbbbbuuuuffff,,,, ffffllllooooaaaatttt ****ssssbbbbuuuuffff,,,, ffffllllooooaaaatttt ****vvvvbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
iiiinnnntttt nnnn))));;;;
HLS Conversions:
vvvvooooiiiidddd iiiimmmmppppRRRRGGGGBBBBttttooooHHHHLLLLSSSS((((sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
ffffllllooooaaaatttt ****hhhhbbbbuuuuffff,,,, ffffllllooooaaaatttt ****llllbbbbuuuuffff,,,, ffffllllooooaaaatttt ****ssssbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
vvvvooooiiiidddd iiiimmmmppppHHHHLLLLSSSSttttooooRRRRGGGGBBBB((((ffffllllooooaaaatttt ****hhhhbbbbuuuuffff,,,, ffffllllooooaaaatttt ****llllbbbbuuuuffff,,,, ffffllllooooaaaatttt ****ssssbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt ****rrrrbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****ggggbbbbuuuuffff,,,, sssshhhhoooorrrrtttt ****bbbbbbbbuuuuffff,,,,
sssshhhhoooorrrrtttt uuuunnnniiiittttyyyy,,,, iiiinnnntttt nnnn))));;;;
PPPPaaaaggggeeee 2222
iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333))))
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
The functions described here perform color space conversion between a
given color space and RGB. The actual transformations performed are
described below. Certain functions specify the parameter _u_n_i_t_y. _u_n_i_t_y
should be set to the value of maximum possible intensity for the arrays
specified. For example, if eight bit data is being converted, _u_n_i_t_y would
be specified as 255. If the data makes use of the full sixteen bits
available in each array element, _u_n_i_t_y would be specified as 65535. Note
that the parameter _n specifies the number of elements in the arrays and
not the number of bytes.
W Conversions:
R
W = | 0.299 0.587 0.114 | * G
B
|||
|||
R W
G = W
B W
|||
|||
|||
|||
K Conversions:
1.0 - R
K = | 0.299 0.587 0.114 | * 1.0 - G
1.0 - B
|||
|||
R 1.0 - K
G = 1.0 - K
B 1.0 - K
|||
|||
|||
|||
CMY Conversions:
C 1.0 - R
M = 1.0 - G
Y 1.0 - B
|||
|||
|||
|||
R 1.0 - C
G = 1.0 - M
B 1.0 - Y
|||
|||
|||
|||
YIQ Conversions:
Y 0.299 0.587 0.114 R
I = 0.596 -0.274 -0.322 * G
Q 0.212 -0.523 0.311 B
|||
|||
|||
|||
|||
|||
R 1.000 0.955 0.622 Y
G = 1.000 -0.271 -0.648 * I
B 1.000 -1.107 1.702 Q
|||
|||
|||
|||
|||
|||
PPPPaaaaggggeeee 3333
iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333))))
|
|
|
|
|
|
YUV Conversions:
Y 0.299 0.587 0.114 R
U = -0.147 -0.289 0.436 * G
V 0.615 -0.515 -0.100 B
|||
|||
|||
|||
|||
|||
R 1.000 0.000 1.140 Y
G = 1.000 -0.395 -0.581 * U
B 1.000 2.032 0.000 V
|||
|||
|||
|||
|||
|||
YCbCr Conversions:
Y 0.299 0.587 0.114 R
Cb = -0.169 -0.331 0.500 * G
Cr 0.500 -0.419 -0.081 B
|||
|||
|||
|||
|||
|||
R 1.000 -0.001 1.402 Y
G = 1.000 -0.344 -0.714 * Cb
B 1.000 1.772 0.001 Cr
|||
|||
|||
|||
|||
|||
CMYK Conversions:
Ci = 1.0 - R
Mi = 1.0 - G
Yi = 1.0 - B
K = Min(Ci, Mi, Yi)
C = Ci - K
M = Mi - K
Y = Yi - K
Ci = 1.0 - R
Mi = 1.0 - G
Yi = 1.0 - B
Ki = Min(Ci, Mi, Yi)
Kucr = UCR(Ki)
Device C = Min(1.0, Max(0.0, Ci - Kucr))
Device M = Min(1.0, Max(0.0, Mi - Kucr))
Device Y = Min(1.0, Max(0.0, Yi - Kucr))
Device K = BG(Ki)
Ci = C + K
Mi = M + K
Yi = Y + K
R = 1.0 - Min(1.0, Ci)
G = 1.0 - Min(1.0, Mi)
B = 1.0 - Min(1.0, Yi)
For HSV conversions refer to _C_o_m_p_u_t_e_r _G_r_a_p_h_i_c_s, _P_r_i_n_c_i_p_a_l_s _a_n_d _P_r_a_c_t_i_c_e,
_F_o_l_e_y _a_n_d _V_a_n _D_a_m, _2_n_d. _E_d_i_t_i_o_n, pp. 590-592.
PPPPaaaaggggeeee 4444
iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo iiiimmmmppppRRRRGGGGBBBBttttooooWWWW((((3333))))
For HLS conversions refer to the citing above pp. 592-595.
NNNNOOOOTTTTEEEE
It is the caller's responsibility to allocate all buffer storage.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
libimp(3)
PPPPaaaaggggeeee 5555